The invention relates to a print engine controller for a multi-segment print head and in particular to the application of suitable dither matrices to achieve suitable transition between consecutive printhead segments.
A range of printer types have evolved wherein an image is constructed from ink selectively applied to a page in dot format. In U.S. Pat. No. 6,045,710, incorporated herein by reference, titled xe2x80x98Self-aligned construction and manufacturing process for monolithic printheadsxe2x80x99 to the inventor Kia Silverbrook there is set out an assessment of the prior art to drop on demand printers along with its manufacturing process.
Various methods, systems and apparatus relating to the present invention are disclosed in the following co-pending United States patent applications filed by the applicant or assignee of the present invention on May 23rd 2000 and which are all incorporated by reference:
In addition, various methods, systems and apparatus relating to the present invention are disclosed in the following co-pending United States patent applications filed simultaneously by the applicant or assignee of the present invention: Ser. No. 09/607,985 (PEC04US), Ser. No. 09/607,990 (PEC05US), Ser. 09/606,999 (PEC07US).
The disclosures of these co-pending applications are incorporated herein by cross-reference.
Of particular note are co-pending U.S. patent applications Ser. No. 09/575,152 (MJ62US), Ser. No. 09/575,141 (IJ52US), Ser. No. 09/575,125 (IJM52US), Ser. No. 09/575,176 (MJ63US), Ser. No. 09/575,147 (MJ58US), incorporated herein by reference, which describe a micro-electromechanical drop on demand printhead hereafter referred to as a Memjet printhead.
The Memjet printhead is developed from printhead segments that are capable of producing, for example, 1600 dpi bi-level dots of liquid ink across the full width of a page. Dots are easily produced in isolation, allowing dispersed-dot dithering to be exploited to its fullest. Color planes might be printed in perfect registration, allowing ideal dot-on-dot printing. The printhead enables high-speed printing using micro-electromechanical ink drop technology.
In addition, co-pending U.S. patent applications Ser. No. 09/575,108 (PEC01US), Ser. No. 09/575,109 (PEC02US), Ser. No. 09/575,110 (PEC03US), Ser. No. 09/607,985 (PEC04US), Ser. No. 09/607,990 (PEC05US) and Ser. No. 09/606,999 (PEC07US), incorporated by reference, describe a print engine/controller suited to driving the Memjet printhead.
The print engine/controller used to drive the printhead puts received print data to the printhead nozzles. It is known to apply dither to the data.
Of particular note is Ser. No. 09/607,985 (PEC04US), which describes print engine/controller adaptations useful to interface multiple print engine/controller chips to a multi-segment printhead. It can be referred to for particular detail of the print engine/controller to which the dither process, and characterization vector, can be added.
In a multi-segment printhead such as the above there is a problem with maintaining average dot gain and brightness over an overlapping pair of printhead segments and this is made worse by misalignment of segments. There is need of a dither process that takes account of these problems.
Furthermore, the human eye tends to amplify differences between visual characteristics at a zone or region where such differences occur. This amplification is known as mach banding. Such mach banding would tend to occur at a point of overlap between two print segments. Thus, a further need of the dither process is to reduce or eliminate this problem of mach banding so that a user is not aware of any transition between two printhead segments.
According to a first aspect of the invention, there is provided a method of controlling a print engine for a multi-segment printhead having a plurality of printhead segments that are positioned in a printhead to span a print area so that portions of consecutive printhead segments overlap in common print areas, with each printhead segment defining a lead-in area in one common print area and a lead-out area in a consecutive common print area, the method comprising the steps of:
generating a set of dither matrices for each printhead segment, each set having at least a lead-in dither matrix associated with the lead-in area and a lead-out dither matrix associated with the lead-out area;
generating lead-in/lead-out dither matrices for each common print area based on characteristics of the printhead segments of each common print area;
generating a variable probability value that is dependent on a scalar value that corresponds to a position along a line spanning each common print area;
interpolating the lead-in/lead-out dither matrices with the variable probability value to generate interpolated lead-in/lead-out dither matrices;
loading a compositor with the data representing the matrices;
compositing print data based on the dither matrices; and
providing the printhead with the print data.
The method may include the steps of:
querying the printhead segments to generate data in the form of a characterization vector that is unique to the printhead;
loading a memory device with the characterization vector; and
reading the characterization vector to carry out the step of generating the lead-in/lead-out dither matrices.
The method may include the step of generating a dither matrix for a non-overlapping portion of each printhead segment.
According to a second aspect of the invention, there is provided a print engine controller for a multi-segment printhead having a plurality of printhead segments that are positioned in a printhead to span a print area so that portions of consecutive printhead segments overlap in common print areas, with each printhead segment defining a lead-in area in one common print area and a lead-out area in a consecutive common print area, the print engine controller comprising
an interface which is configured to receive image data;
a memory device that is capable of storing data relating to characteristics of the multi-segment printhead;
a dithering unit that communicates with the interface to receive the image data from the interface and the memory device to receive data relating to the characteristics of the multi-segment printhead, the dithering unit being configured to generate a set of dither matrices for each printhead segment so that each set has at least a lead-in dither matrix associated with the lead-in area and a lead-out dither matrix associated with the lead-out area, to generate lead-in/lead-out dither matrices for each common print area based on characteristics of the printhead segments of each common print area, to generate a variable probability value that is dependent on a scalar value that corresponds to a position along a line spanning each common print area and to interpolate the lead-in/lead-out dither matrices with the variable probability value to generate interpolated lead-in/lead-out dither matrices;
a compositor that communicates with the dithering unit to receive data representing the interpolated lead-in/lead-out dither matrices and to composite the data into print data; and
a printhead interface that communicates with the compositor to receive the print data, the printhead interface being in communication with the multi-segment printhead to provide the multi-segment printhead with the print data.
The dithering unit may be configured to generate a dither matrix for each non-overlapping area of the printhead segments.
According to a third aspect of the invention, there is provided an inkjet printer that comprises
a printhead that includes a number of printhead segments that span a print area, the printhead segments being positioned so that portions of consecutive printhead segments overlap in common print areas, with each printhead segment defining a lead-in area in one common print area and a lead-out area in a consecutive common print area;
an interface which is configured to receive image data;
a memory device that is capable of storing data relating to characteristics of the printhead;
a dithering unit that communicates with the interface to receive the image data from the interface and the memory device to receive data relating to the characteristics of the printhead, the dithering unit being configured to generate a set of dither matrices for each printhead segment so that each set has at least a lead-in dither matrix associated with the lead-in area and a lead-out dither matrix associated with the lead-out area, to generate lead-in/lead-out dither matrices for each common print area based on characteristics of the printhead segments of each common print area, to generate a variable probability value that is dependent on a scalar value that corresponds to a position along a line spanning each common print area and to interpolate the lead-in/lead-out dither matrices with the variable probability value to generate interpolated lead-in/lead-out dither matrices;
a compositor that communicates with the dithering unit to receive data representing the interpolated lead-in/lead-out dither matrices and to composite the data into print data; and
a printhead interface that communicates with the compositor to receive the print data, the printhead interface being in communication with the printhead to provide the printhead with the print data.
Each common print area defined by consecutive printhead segments may have a width of at least 1 mm.
For each set of two overlapping segments the overlap is characterized in terms of a misalignment. That misalignment is used to generate lead-in lead-out dither matrices and an offset into the standard third dither matrix. The lead-in lead-out dither matrices are used in conjunction over the overlap area. One can be a fadeout and the other is then a fade-in dither matrix. They are generated so that the combination of the two dither matrices gives a constant dot gain over the overlap area.
The offset is required to locate where in the third dither matrix to go to once the fade-in is finished. The third dither matrix might be thought of as the standard dither matrix, and the other two matrices as providing a cross-fade. Of the other two, one dither matrix fades out, and the other fades in.
Because of misalignment, it is not appropriate to simply continue straight on into the standard dither matrix once you have passed the overlap. Instead it may be necessary to go to a different column of the standard dither matrix, depending on misalignment.
Thus, there are preferably at least three dither matrices. A standard one that is common across all segments for the non-overlapping bits, and a pair of dither matrices per overlap. One fades out from the common dither matrix, and the other fades into the common dither matrix. Misalignment information can be obtained from a characterization vector stored on each printhead segment. The characterization vector can also store dead nozzle data. Contone CMYK layers are composited using a dither matrix selected by a dither matrix select map. The dithered contone layer has appropriate Netpage tag data added together with the black layer over the contone layer. The composite is sent to the multi-segment printhead. The datastream is adjusted to create smooth transitions across overlapping segments and it can compensate for dead nozzles in the printhead by reference to a printhead characterization vector. The resolution of the dither matrix select map should ideally match the contone resolution.
Each printhead segment can be queried via its low speed serial bus to return a characterization vector of respective segments. The characterization vectors from multiple printhead chips can be combined to construct a nozzle defect list for the entire multi-segment printhead and allows the print engine to compensate for defective nozzles during the print. As long as the number of defective nozzles is low, the compensation can produce results indistinguishable from those of a printhead with no defective nozzles.